home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / doors_2 / shmpg324.zip / WHAT'S.NEW < prev   
Text File  |  1992-09-02  |  19KB  |  449 lines

  1. Tue  09-01-1992
  2.  
  3. Ver 3.24
  4.  
  5. * Added a new variable: *KEYWORD* which is replaced by the word SHAMpage
  6.   matched, regardless of whether it was a KEY WORD or an ALIAS. This is so
  7.   you can make reference to the exact word the user typed in your replies.
  8.   This variable comes in several flavors. If it is all upper case, like the
  9.   example above, the variable itself will be typed in all CAPS. *keyword*
  10.   will be replaced by the variable in all lower case letters, and *Keyword*
  11.   will have the First Letter Only Capitalized.
  12.  
  13.   NOTE: this variable is obviously useless in OPENING LINES, EXITMSG and
  14.   NOMATCH replies, since no match was found. (So DON'T use it there!)
  15.  
  16.   Here is an example:
  17.  
  18. ;----------------------------------------------------------------------------
  19. ;                                  KEY WORD #1
  20. ;----------------------------------------------------------------------------
  21. AWESOME
  22. *ALIAS* COOL
  23. 3
  24. *Keyword*, huh? You have a great vocabulary.
  25. You're pretty *keyword* yourself, dude!
  26. I didn't know you could spell *KEYWORD*.
  27.  
  28.  
  29.   If the caller types "This is a cool board", SHAMpage replies:
  30.  
  31.         "Cool, huh? You have a great vocabulary."
  32.                         or
  33.         "You're pretty cool yourself, dude!"
  34.                         or
  35.         "I didn't know you could spell COOL."
  36.  
  37.  
  38.   If he enters "Totally Awesome", SHAMpage replies:
  39.  
  40.         "Awesome, huh? You have a great vocabulary."
  41.                         or
  42.         "You're pretty awesome yourself, dude!"
  43.                         or
  44.         "I didn't know you could spell AWESOME."
  45.  
  46.  
  47. * Since the original release of the program, I had been deducting one (1)
  48.   minute from the user's time-left to allow for proper log off from the BBS
  49.   after SHAMpage terminates. Due to the availability of the new TIME=x
  50.   command line parameter, I discontinued this practice. Now it's completely
  51.   up to you to decide how much of his time-left you want to allow the caller
  52.   spend in the door. As far as SHAMpage is concerned, he can spend it ALL,
  53.   unless you tell it otherwise via the TIME=x switch.
  54.  
  55. * Updated MAINTAIN.EXE and the data files to make use of the new *KEYWORD*
  56.   variables.
  57.  
  58.  
  59. Ver 3.23
  60.  
  61. * If the caller has less than five (5) minutes left, SHAMpage will no longer
  62.   pick up the page. It goes through the "Paging SysOp... 1... 2... 3..."
  63.   routine, then sends the hard-coded message:
  64.  
  65.               [SysOp First Name] is not available at the moment.
  66.               Please leave a [C]omment or try again later.
  67.  
  68.   It seemed rather silly to pick up the page only to kick the caller off
  69.   immediately. Now, when SHAMpage does pick up the page, the caller will have
  70.   at least five minutes to "chat".
  71.  
  72. * Changed how SHAMpage exits when the caller runs out of time. Instead of
  73.   being unceremoniously dumped with no warning, the caller receives the
  74.   "Nice chatting with you" message and goodbye screen as if the door had
  75.   terminated in any of the other normal ways, such as the caller entering
  76.   "Bye". If the caller does not press a key within three (3) minutes while
  77.   SHAMpage is expecting remote input, however, the door still exits directly
  78.   back to the BBS, bypassing the goodbye message and screen. If the caller
  79.   hasn't hit a key in three minutes, presumably he fell asleep!
  80.  
  81.  
  82. Ver 3.22
  83.  
  84. * Fixed illegal function call if the caller had a one-word name or handle.
  85.   Also made it possible for the SysOp to use a one-word name or handle (leave
  86.   line 2 or 3 blank in the config file).
  87.  
  88. * Added a new (optional) command line parameter to limit the caller to only a
  89.   certain percentage of his time-left in the door. I found that many of my
  90.   callers were spending their entire time in the door and were immediately
  91.   logged off upon their return to the BBS, leaving them no time to enter a
  92.   [C]omment to SysOp. The new parameter is "TIME=x", where x represents the
  93.   percentage of the caller's time-left you want him to be in chat. An example
  94.   command line:
  95.  
  96.   SHAMpage SHAMpage.Cfg TIME=80
  97.  
  98.   Using this example, if the caller has twenty minutes left when he pages,
  99.   SHAMpage will chat with him for sixteen minutes (80% of 20) before sending
  100.   him back to the board with four minutes online time remaining. If you
  101.   choose, you can even INCREASE his time in the door by making x larger than
  102.   100 (although, be warned... he will be dumped by the BBS upon his return to
  103.   the board!)
  104.  
  105.   While tinkering with the time routines, I modified some to make them more
  106.   reliable.
  107.  
  108. * Added Jeff Sumberg's QBSERIAL copyright credit to the opening screen.
  109.  
  110.  
  111. Ver 3.21
  112.  
  113. * Added the second-most requested feature: the ability to send multi-line
  114.   responses. This is accomplished with a new variable: *LF* (line-feed). If
  115.   *LF* occurs within a response in the data file, the line will be split at
  116.   that point, a line-feed will be sent and the rest of the response will be
  117.   typed on the next line. The entire response must occupy ONLY one line in
  118.   your data file however, and the length of the line is limited to 255 total
  119.   characters. Multiple *LF*'s on a single line are supported. Here is a line
  120.   which is 88 characters long (notice the lack of carriage return within the
  121.   line itself) from the sample SHAMPAGE.DAT:
  122.  
  123. My head hurts, my feet stink, and I don't love Jesus, *USER*. *LF* How's your day going?
  124.  
  125.   This response will be typed as the following two separate lines:
  126.  
  127. My head hurts, my feet stink, and I don't love Jesus, Joe.
  128. How's your day going?
  129.  
  130.   To see another example, fire up SHAMpage and type shampage a few times!
  131.  
  132. * Added another variable: *ALIAS*. This allows you to use the exact same set
  133.   of responses with several different key words. The format is as follows:
  134.   In your data file, on the next line(s) after the key word, you may have up
  135.   to five (5) *ALIAS* key words. These are alternative key words to which
  136.   SHAMpage will make a positive match and send one of the replies to the
  137.   related key word. There are many advantages to this. If you utilize the
  138.   *ALIAS*'s, SHAMpage will match more key words (up to 600, instead of the
  139.   original 100 limit), the data file can be smaller and SHAMpage will not
  140.   repeat itself as often since you do not need separate entries for different
  141.   key words which are synonymous anyway. Here is a clip from the sample
  142.   SHAMPAGE.DAT:
  143.  
  144.  
  145. ;----------------------------------------------------------------------------
  146. ;                                  KEY WORD #1
  147. ;----------------------------------------------------------------------------
  148. FUNNY
  149. *ALIAS* HA HA
  150. *ALIAS* HAHA
  151. *ALIAS* JOKE
  152. *ALIAS* LAFF
  153. *ALIAS* LAUGH
  154. 5
  155. Funny stuff, huh?
  156. So you think that's funny, huh? You're warped!
  157. Sometimes I kill myself!
  158. What a sense of humor...
  159. You think that's funny? Try looking in the mirror, *USER*!
  160. ;----------------------------------------------------------------------------
  161.  
  162.  
  163.   If the caller enters a string matching "HA HA", "HAHA", "JOKE", "LAFF" or
  164.   "LAUGH" it will be treated exactly the same as if he entered "FUNNY".
  165.   Note the format: *ALIAS*'s come between the key word and the number of
  166.   responses.
  167.  
  168. * Modified file access to make SHAMpage multi-node aware. Here are examples
  169.   of the way I have the various files set up for two nodes on DrawBridge:
  170.  
  171.   MAIN1.BAT
  172.  
  173.         @Echo Off
  174.         Echo       * Paged sysop (SHAMpage) >> C:\Wc30\Activity.00%Wcnodeid%
  175.         Cd \Doors\Shampage
  176.         Shampage Shampage.%Wcnodeid%
  177.  
  178.   SHAMPAGE.1 (renamed from SHAMPAGE.CFG)
  179.  
  180.         DrawBridge BBS
  181.         RICH
  182.         WAUGH
  183.         C:\Wc30\Wcwork\Node1\Door.Sys
  184.         SPLIT
  185.         SHAMpage.Dat
  186.         SHAMpage.001
  187.         1
  188.         3
  189.         23:00
  190.         08:00
  191.  
  192.   SHAMPAGE.2 (renamed from SHAMPAGE.CFG)
  193.  
  194.         DrawBridge BBS
  195.         RICH
  196.         WAUGH
  197.         C:\Wc30\Wcwork\Node2\Door.Sys
  198.         SPLIT
  199.         SHAMpage.Dat
  200.         SHAMpage.002
  201.         1
  202.         3
  203.         23:00
  204.         08:00
  205.  
  206. * Revised MAINTAIN.EXE to handle the new *ALIAS* variable correctly. It now
  207.   auto-detects if it's working on an old format data file or one which has
  208.   already been converted. One less decision for all you harried SysOps. More
  209.   kinds of errors are now detected and last, but not least, it is so much
  210.   prettier! <grin>.
  211.  
  212.  
  213. Ver 3.20:
  214.  
  215. * Added the feature that's been requested most often - the ability to send
  216.   the contents of a text file upon a positive key word match. This is
  217.   implemented using a new variable in the data file as follows: if the left-
  218.   most string in a key word reply is *FILE* (as always, upper case with the
  219.   asterisks), SHAMpage will open a file matching the name on the remainder of
  220.   that line and "type" its contents to the caller. If this is unclear, look
  221.   at the sample SHAMPAGE.DAT, under the key word REGIST. You will see the
  222.   something similar to the following:
  223.  
  224.  
  225. ;----------------------------------------------------------------------------
  226. ;                                  KEY WORD #1
  227. ;----------------------------------------------------------------------------
  228. REGIST
  229. 1
  230. *FILE* Sendit.Asc
  231. ;----------------------------------------------------------------------------
  232.  
  233.  
  234.   In this case, when SHAMpage finds the string REGIST it looks at the key
  235.   word reply and sees *FILE*. That tells it to send the caller the contents
  236.   of a file. Next, it reads the remainder of the line for the name of the
  237.   file to access, which in this case is SENDIT.ASC. That file is opened, read
  238.   and closed. Its entire contents are then typed, line by line, to the
  239.   caller. If the file does not exist, SHAMpage will error out (and log the
  240.   reason for the error in SHAMPAGE.ERR). There is no limit, other than the
  241.   normal limit of ten (10) replies per key word, to the number of different
  242.   *FILE*'s you can use. You should be aware that, in split-screen mode, if
  243.   *FILE* is over nine (9) lines in length, the first line(s) will be
  244.   overwritten by the last one(s) after the lines wrap at the end of the SysOp
  245.   screen. In full-screen mode, *FILE* can be up to twenty-one (21) lines
  246.   before the first line(s) scroll off the screen.
  247.  
  248. * Added the option to use two different data files: one for normal day time
  249.   use, the other for late night hours (as defined by the times you have the
  250.   page bell turned on or off). If SHAMpage finds a file named MIDNITE.DAT
  251.   (which should reside in your SHAMpage directory), it will be used instead
  252.   of the regular data file whenever the page bell is turned off. If SHAMpage
  253.   cannot find MIDNITE.DAT, your regular data file will be used. Whichever
  254.   data file is used is noted in SHAMPAGE.LOG.
  255.  
  256. * The typing routines in Split-Chat mode have been completely redone, to
  257.   better handle multiple-line entries. When the cursor line reaches the
  258.   split-screen limit the line wraps back up to the top of the current screen.
  259.   This prevents, among other things, the SysOp inadvertently overtyping the
  260.  
  261.   ▓▓▓▓▓▓▓▓▓▓▓SysOp Name▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓User Name▓▓▓▓▓▓▓▓▓▓▓
  262.  
  263.   line and keeps the cursor always in the correct screen. Whenever the cursor
  264.   reaches column 80, a line-feed is sent and the next two lines are cleared.
  265.   Restored the cursor position correctly when going to and from live chat and
  266.   nuked an extraneous input required of the caller after returning from live
  267.   chat. The [F7] and [F8] keys now operate seamlessly.
  268.  
  269. * Changed the DOS prompt when dropped to DOS to remind you that you are in a
  270.   shell.
  271.  
  272. * Memory requirements have been slightly decreased.
  273.  
  274. * Bug Fixes: Repaired the "Error 5: Illegal function call" which sneaked into
  275.   some intermediate versions between v3.14 and v3.15. When multiple *USER*
  276.   and/or *TIME* variables appeared on the same line, only one was translated
  277.   properly. All occurrences of these variables are now converted. Cleaned up
  278.   a minor screen scroll problem on the goodbye screen. Moved the cursor to
  279.   the end of the "Press [ENTER]... " prompt and turned the cursor "on" on the
  280.   local screen. The proper lines were not always erased prior to the key word
  281.   responses being typed. This has been corrected.
  282.  
  283.  
  284. Ver 3.13:
  285.  
  286. * The local screen is now saved, and restored after the SysOp drops to DOS or
  287.   views User's Stats.
  288.  
  289. * Made [F7] "Live Chat On" and [F8] "End Live Chat" keys hot from anywhere
  290.   AFTER the opening greeting and PRIOR to end of chat. Enabled those keys in
  291.   local mode. All functions, with the obvious exception of the comm routines,
  292.   are now fully enabled in local mode.
  293.  
  294. * Typo's now appear anywhere in the line. Varied the amount of time it takes
  295.   the "SysOp" to recognize a typo and correct it.
  296.  
  297. * Appended "am" or "pm" to the translation of the *TIME* variable.
  298.  
  299. * Added new information to SysOp's line 24: caller's location and (if using
  300.   DOOR.SYS) his age.
  301.  
  302. * "SysOp has control...", etc. is no longer printed on the local screen each
  303.   time it's the Sysop's turn to type while in full-screen chat mode. Toggled
  304.   "[F7] Live Chat On" with "[F8] End Live Chat" on line 25. New command line
  305.   parameters force full-screen or split-screen chat mode. The new parameters
  306.   are FULL and SPLIT. The syntax is: SHAMpage SHAMpage.Cfg FULL/SPLIT.
  307.  
  308. * Error messages were made much more specific; if an error occurs, please
  309.   read SHAMPAGE.ERR. The answer to your problem is probably logged. If you
  310.   have trouble deciphering the problem by yourself, feel free to send me your
  311.   SHAMPAGE.CFG, SHAMPAGE.DAT and SHAMPAGE.ERR files. I'll try to replicate
  312.   the error and see if I can help. This still does NOT entitle you to bitch,
  313.   though! <grin>
  314.  
  315.  
  316. Ver 3.10:
  317.  
  318. * SHAMpage now checks the caller's time-left and updates the SysOp screen
  319.   more often. The time-left warnings to the caller have been discarded, since
  320.   they are rather meaningless in "chat" anyway and their main effect was to
  321.   alert the caller that he was in a door instead of live chat. The caller
  322.   will still get booted out of the door when he runs out of time. While
  323.   rewriting this routine, I noticed and fixed a misplaced input-timer
  324.   routine. The door now terminates as it should after 3 minutes of input
  325.   inactivity.
  326.  
  327. * Added a new variable to be checked in the data file. The variable name is
  328.   *TIME* (upper-case, with the asterisks). If this string occurs anywhere
  329.   within the line, the current time, in 12-hour format, will be substituted
  330.   in that position.
  331.  
  332. * Added a new option to run SHAMpage locally, from the command line. The
  333.   syntax is: SHAMpage SHAMpage.CFG LOCAL
  334.  
  335. * Key word search & match routine modified to work faster and more reliably.
  336.  
  337. * Typo & correction routine redone. Typo's now vary more in length and
  338.   SHAMpage will no longer make a typo of a non-letter. Corrections no longer
  339.   make typos themselves.
  340.  
  341. * Wrote a new routine to restore the proper screen colors after use of one of
  342.   the SysOp hot keys. Made some minor color changes to lines 24 & 25. Also
  343.   changed "Press [ENTER] to continue" prompt to "Press [ENTER] to return to
  344.   BBSname".
  345.  
  346. * Fixed some errors in the disabling of IRQ masks on the Interrupt Controller
  347.   when exiting SHAMpage. This could cause certain BBS's which don't reset the
  348.   port when returning from a door to appear to "lock up" when they regained
  349.   control.
  350.  
  351. * Cleaned up, optimized and reduced the size of the code. SHAMpage is now
  352.   nearly 20% smaller and loads and executes much faster than ever before.
  353.  
  354.  
  355. Ver 3.05:
  356.  
  357. * Made the "exit" message configurable. If SHAMPAGE.DAT contains the Key Word
  358.   EXITMSG, its "keyword responses" (up to four lines) will all be sent, in
  359.   order, upon door termination. If EXITMSG does not appear as a key word, the
  360.   default hard-coded exit message will be used.
  361.  
  362. * SHAMpage now checks for a variable in the data file so you can personalize
  363.   your responses a bit more. You will find that the more personal your
  364.   responses, using such things as your real name, the caller's name and your
  365.   board's name, the more believable the program becomes. The variable name is
  366.   *USER* (upper-case, with the asterisks). If this string occurs anywhere
  367.   within the line, the caller's first name will be substituted in that
  368.   position. This affects the format of the opening lines, where the caller's
  369.   name had previously been inserted automatically and necessitates changes to
  370.   your SHAMPAGE.DAT file. Please see the enclosed SHAMPAGE.DAT for examples.
  371.  
  372. * ┌───────────────────────────────────────────────────────────────────────┐
  373. * │ MAINTAIN.EXE HAS BEEN UPDATED TO CONVERT THE OLD SHAMPAGE.DAT TO THE  │
  374. * │ LATEST FORMAT, WHICH SUPPORTS THE CHANGES NOTED ABOVE. BE SURE TO RUN │
  375. * │ IT IF YOU INTEND TO USE YOUR OLD CUSTOMIZED DATA FILE.                │
  376. * └───────────────────────────────────────────────────────────────────────┘
  377.  
  378. * Added support for DORINFOx.DEF drop file (refer to line 4 in SHAMPAGE.CFG).
  379.   Due to the limited amount of information included in DORINFOx.DEF, the
  380.   [F2] User's Stats function is not quite as informative in this mode.
  381.   SHAMpage is now running on WildCat!, PCBoard, Remote Access, QuickBBS and
  382.   Virtual BBS boards that I am aware of. Support for CALLINFO.BBS and/or
  383.   other BBS drop files can be implemented if there is sufficient interest.
  384.  
  385.  
  386. Ver 3.02:
  387.  
  388. * Added some new means for the caller to exit SHAMpage: by entering G, Q, X
  389.   or two consecutive empty lines.
  390.  
  391. * Reworked some I/O routines. The transmit buffer now works much better.
  392.  
  393. * Minor color change to match WildCat!'s chat.
  394.  
  395. * Initial release of MAINTAIN utility for maintaining SHAMPAGE.DAT
  396.  
  397.  
  398. Ver 3.0:
  399.  
  400. * The Com routines have been completely rewritten to get around the poor
  401.   communications support provided by QuickBASIC. SHAMpage now uses Jeff
  402.   Sumberg's wonderful QBSERIAL library to handle all com routines. We now
  403.   have the ability to control COM1 - COM4 at speeds up to 115,200 baud. The
  404.   serial driver includes XON/XOFF and CTS/RTS handshaking. Serial input is
  405.   interrupt driven, with incoming XOFF flow control (if enabled) and/or RTS
  406.   flow control (if enabled) to prevent overrunning the input buffer.
  407.  
  408.  
  409. Ver 2.1:
  410.  
  411. * Added two (optional) lines to SHAMPAGE.CFG to allow enabling/disabling the
  412.   page bell by the hour.
  413.  
  414. * Changed the page bell to more closely mimic WildCat!'s page bell.
  415.  
  416. * Changed the [F2] User Stats to be transparent to the caller.
  417.  
  418.  
  419. Ver 2.0:
  420.  
  421. * Randomized key word responses so they come up in a different order each
  422.   time the door is run. Previously, they always appeared in last-to-first
  423.   order.
  424.  
  425. * Made new option for WildCat! split-screen chat emulation.
  426.  
  427. * Modified opening "Paging SysOp... " to mimic WildCat!'s
  428.  
  429. * Modified SysOp's lines 24 & 25 to show other options (which were in
  430.   previous releases - but nobody knew about them).
  431.  
  432. * Rewrote documentation.
  433.  
  434. * Changed colors to match WildCat!'s
  435.  
  436. * Changed some other colors for cosmetic reasons.
  437.  
  438.  
  439. Ver 1.1:
  440.  
  441. * Added "Delay Factor" to make the typing rate realistic on any machine.
  442.  
  443.  
  444. Ver 1.0:
  445.  
  446. * First version released to the public.
  447.  
  448.  
  449.